======================================================
MPPWC v0.96: a Tracker Module Decoder for Winamp
Released: March 15, 2012
Author: Dios Gabor (Dege)
======================================================

1. Intro
--------

Recently I totally revamped my old music player originating
in the DOS era that was planned to be used for some demoscene
stuffs. Needless to mention that finally I (we) have never
released anything to any scene party, but the code was being
more or less maintained.
A few month ago I decided to port it to "thin" C++ and partly
assembly using modern things, just for fun. The evergreen pain
were the things missing in supporting of Impulse Tracker files
(>v2.0 with compressed samples, resonant filtering, and as I
looked around I found that many of new IT songs exist that use
stereo samples and a few unofficial additions to the IT format).
I think I've overcome most of them (wasn't easy to find info on
those since Jeffrey Lim never published that in his technical
descriptions as far as I know).

Altough creating a Winamp plugin was not the goal, but when
I finished I thought why not..


2. Features
-----------

So, MPPWC is an input plugin for Winamp to decode the following
tracker formats:

Amiga ProTracker (*.mod)
Composer 669	 (*.669)
MultiTracker	 (*.mtm)
Scream Tracker3  (*.s3m)
Fast Tracker 2	 (*.xm)
Impulse Tracker	 (*.it)

with true seeking during music playback.

About length detection of module playing time:
There are 2 choices:
- Disabling backward jumps: this option does not allow any loop
                            in the playback, you can listen
                            hidden parts of the song
                            (but not all of them if they are organized
                             unluckily..)
- Detect loop: when MPPWC detects the end of a loop, marks that
               point as the end of the song but MPPWC can be
               configured to repeat loops.


3. Requirements
---------------

Any x86 processor with SSE2 support (it is old enough to dare to
require it as a minimum).

Does 64 bit Winamp exist? I also have the x64 version of the decoder. :)


4. Installing MPPWC "by hand"
-----------------------------

Well, just copy in_mppwc.dll into your Winamp\Plugins folder then
restart Winamp and it should work.


5. Uninstalling MPPWC "by hand"
-----------------------------

Delete these files:

	Winamp\Plugins\in_mppwc.dll
	Winamp\Plugins\in_mppwc.cfg
	Winamp\in_mppwc.txt


6. Known issues
---------------

- MPPWC may not cooperate well with Winamp's built-in module decoder (in_mod.dll).
  I mean this can cause crashes as they support common file types.

- klisje.mod: Solved, see 'Old Protracker Mode'


7. Thanksto's
---------------

Thanks to Chris Benshoof for his mini crt, I built MPPWC using that great
stuff.
For more see: http://www.benshoof.org/blog/minicrt/


8. Change list
---------------

0.96.1: - Fixed TonePorta+VolSlide
        - Fixed 'Set Global Volume' command in S3Ms
        - Fixed detecting of empty patterns
        - Fixed bugs in GUI (mostly cosmetic)

0.96:	- Missing features implemented: IT instrument volume & pan swing
	- Random wave vibrato/tremolo/panbrello didn't work, fixed
	- When a note off/note fade with an instrument were given together
	  then IT files played improperly (e.g. ocean_breeze.it), fixed
        - Number of handled IT instruments/samples is raised to 199 to play (some)
	  nonregular IT files properly
        - Scale of tremolo is fixed in S3M/IT files
        - Handling 16 bit samples is fixed in the S3M loader
        - Lack of supporting FT2 command Lxx (Set Volume envelope position), implemented
        - Fixed FT2 command Kxx (Key Off)
	- Fixed simultaneous arpeggio+portamento
        - Saving plugin settings now follows the recommended folder to use
	- Uninstall support for the plugin
        - File info dialog is somewhat more advanced compared to previous versions
          [all that gui crap has turned this plugin into a big fat monster :( ]
        - New plugin config options:
             - Mixing freq, output quality
             - Optional remove of initial and trailing silence (not the same as trailing
               empty patterns)
             - Old Protracker mode (very first version of Protracker capable of constant
               tempo at 125 BPM, play klisje.mod with this option enabled :) )
	- Lot of other fixings, I hope I have not broken anything working properly before

0.95:	- A serious bug of handling IT instrument envelopes is fixed
	- Fixing the usage of 'last nonzero effect parameter' in S3M's, it was buggy
	- Fixing the 'Retrig and Volume Slide' effect to match ST3, FT2 and IT
	- Resonant filter is slightly modified to match Impulse Tracker better
	- A bug in the mixer is fixed: it couldn't handle the over-amplficiation
          when large resonance values were used; amplification interval is widened
	- A bug in detecting loops is fixed (ehh.. uninitialized variable..)
        - Backward seeking could cause incorrent playing speed, fixed
        - Random memory content could be attached to the title of 669's, fixed
        - Option 'Strip ending empty patterns' is added to the config dialog
        - 'Volume amplification' is added to the config dialog

0.94:	The original version


Enjoy!
	Dege
